import axios from 'axios'
import { ElMessage } from 'element-plus'
import { useUserStore} from '@/stores/userStore'
import router from '@/router'
const httpInstance = axios.create({
  baseURL: 'http://pcapi-xiaotuxian-front-devtest.itheima.net',
  timeout:20000
})


// axios请求拦截器
httpInstance.interceptors.request.use(config => {
  // 携带token到请求头去
  const userStore = useUserStore()
  const token = userStore.userInfo.token
  if (token){
    config.headers.Authorization = `Bearer ${token}`
  }
  return config
}, e => Promise.reject(e))

// axios响应式拦截器
httpInstance.interceptors.response.use(res => res.data, e => {


  // 错误统一提示
  ElMessage.warning(`${e.response.data.message}`)
// 401token失效处理
// 1清除本地用户数据
if(e.response.status === 401 ){
  const userStore = useUserStore()
  userStore.clearUserInfo()
  router.push('/login')

}
// 2跳转到登录页面

  return Promise.reject(e)
})
export default httpInstance